package com.zhangzhan.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhangzhan.domain.commcon.ResponseResult;
import com.zhangzhan.domain.dto.ChangeStatusDto;
import com.zhangzhan.domain.dto.RoleLikeDto;
import com.zhangzhan.domain.dto.SaveRoleMenuDto;
import com.zhangzhan.domain.dto.UpdateRoleMenuDto;
import com.zhangzhan.domain.entity.Role;
import com.zhangzhan.domain.vo.PageVO;
import com.zhangzhan.domain.vo.SelectRoleByIdVO;
import com.zhangzhan.domain.vo.SelectUserVO;

import java.util.List;


/**
 * 角色信息表(Role)表服务接口
 *
 * @author makejava
 * @since 2022-12-05 15:06:48
 */
public interface RoleService extends IService<Role> {

    List<String> selectRoleKeyByUserId(Long id);

    //分页查询
    ResponseResult<PageVO> pageList(Integer pageNum, Integer pageSize, RoleLikeDto roleLikeDto);

    //修改状态
    ResponseResult changeStatus(ChangeStatusDto change);

    //新增角色
    ResponseResult saveRoleMenu(SaveRoleMenuDto saveRoleMenuDto);

    //修改前回显
    ResponseResult<SelectRoleByIdVO> selectRoleById(Long id);

    //更新角色
    ResponseResult updateRole(UpdateRoleMenuDto updateRoleMenuDto);

    //批量删除
    ResponseResult deleteRoleById(Long[] ids);

    //查询角色列表接口
    ResponseResult<SelectUserVO> listAllRole();

}

